﻿#region Copyright Info

// 
// Majesty of Omega - The next evolution of macro management space strategy
// 
// Copyright 2007-2009 André Claaßen
// 
// This file is protected by the terms and conditions of the
// Microsoft Community License (Ms-CL 1.1), a copy of which should
// have been distributed along with this software. If not,
// you may find the license information at the following URL:
// 
// http://www.microsoft.com/resources/sharedsource/licensingbasics/communitylicense.mspx

#endregion

#region

using System.Windows.Controls;
using System.Windows.Input;

#endregion

namespace Majesty_of_Omega.GUI.Commands
{
    /// <summary>
    /// Main WPF Commmands 
    /// </summary>
    public class MainCommands
    {
        /// <summary>
        /// Aborts a sub frame, like the load page. Accessibility Key: ESC
        /// </summary>
        public static RoutedCommand CancelSubFrameCommand =
            new RoutedCommand("CancelSubFrame", typeof (Page), new InputGestureCollection {new KeyGesture(Key.Escape)});

        /// <summary>
        /// The In Game Menu
        /// </summary>
        public static RoutedCommand InGameMenuCommand =
            new RoutedCommand("InGameMenu", typeof (Page), new InputGestureCollection {new KeyGesture(Key.F12)});

        /// <summary>
        /// Command to invoke the load game dialog.
        /// </summary>
        public static RoutedCommand LoadGameCommand =
            new RoutedCommand("LoadGame", typeof (Page));

        /// <summary>
        /// Command to create a new game. Accessibility Key: Strg+N
        /// </summary>
        public static RoutedCommand NewGameCommand =
            new RoutedCommand("NewGame", typeof (Page),
                              new InputGestureCollection {new KeyGesture(Key.N, ModifierKeys.Control)});

        /// <summary>
        /// Command to invoke the save game dialog. Accessibility Key: Strg+S
        /// </summary>
        public static RoutedCommand SaveGameCommand =
            new RoutedCommand("SaveGame", typeof (Page),
                              new InputGestureCollection {new KeyGesture(Key.S, ModifierKeys.Control)});

        /// <summary>
        /// Command to invoke the research screen dialog. Accessibility Key: Strg+R
        /// </summary>
        public static RoutedCommand ResearchScreenCommand =
            new RoutedCommand("ResearchScreen", typeof(Page),
                              new InputGestureCollection { new KeyGesture(Key.R, ModifierKeys.Control) });

        /// <summary>
        /// Command to invoke the Situation SitReport. Accessibility Key: Strg+E
        /// </summary>
        public static RoutedCommand SituationReportCommand =
            new RoutedCommand("SituationReport", typeof(Page),
                              new InputGestureCollection { new KeyGesture(Key.E, ModifierKeys.Control) });
    }
}